package br.com.portal.fitness.model;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 *
 * @author bruno.machado
 */
@Entity
@Table(name="SENHA")
@NamedQuery(name=Senha.FIND_ALL, query="SELECT b FROM Senha b")
public class Senha implements Serializable{
      /**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	public static final String FIND_ALL = "Senha.findAll";
      
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "id_senha")
    private Integer id_senha;
    
    @Temporal(TemporalType.DATE)
    @Column(name = "data_modificacao")
    private Date data_modificacao;
    
    @Column(name = "senha")
    private String senha;
    
    @Column(name = "tentativas")
    private Integer tentativas;
   
    @Temporal(TemporalType.DATE)
    @Column(name = "data_bloqueio")
    private Date data_bloqueio;

    public Senha() {
		super();
	}

	public Senha(Integer id_senha, Date data_modificacao, String senha,
			Integer tentativas, Date data_bloqueio) {
		super();
		this.id_senha = id_senha;
		this.data_modificacao = data_modificacao;
		this.senha = senha;
		this.tentativas = tentativas;
		this.data_bloqueio = data_bloqueio;
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result
				+ ((data_bloqueio == null) ? 0 : data_bloqueio.hashCode());
		result = prime
				* result
				+ ((data_modificacao == null) ? 0 : data_modificacao.hashCode());
		result = prime * result
				+ ((id_senha == null) ? 0 : id_senha.hashCode());
		result = prime * result + ((senha == null) ? 0 : senha.hashCode());
		result = prime * result
				+ ((tentativas == null) ? 0 : tentativas.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Senha other = (Senha) obj;
		if (data_bloqueio == null) {
			if (other.data_bloqueio != null)
				return false;
		} else if (!data_bloqueio.equals(other.data_bloqueio))
			return false;
		if (data_modificacao == null) {
			if (other.data_modificacao != null)
				return false;
		} else if (!data_modificacao.equals(other.data_modificacao))
			return false;
		if (id_senha == null) {
			if (other.id_senha != null)
				return false;
		} else if (!id_senha.equals(other.id_senha))
			return false;
		if (senha == null) {
			if (other.senha != null)
				return false;
		} else if (!senha.equals(other.senha))
			return false;
		if (tentativas == null) {
			if (other.tentativas != null)
				return false;
		} else if (!tentativas.equals(other.tentativas))
			return false;
		return true;
	}

	public Integer getId_senha() {
        return id_senha;
    }

    public void setId_senha(Integer id_senha) {
        this.id_senha = id_senha;
    }

    public Date getData_modificacao() {
        return data_modificacao;
    }

    public void setData_modificacao(Date data_modificacao) {
        this.data_modificacao = data_modificacao;
    }

    public String getSenha() {
        return senha;
    }

    public void setSenha(String senha) {
        this.senha = senha;
    }

    public Integer getTentativas() {
        return tentativas;
    }

    public void setTentativas(Integer tentativas) {
        this.tentativas = tentativas;
    }

    public Date getData_bloqueio() {
        return data_bloqueio;
    }

    public void setData_bloqueio(Date data_bloqueio) {
        this.data_bloqueio = data_bloqueio;
    }


    
    
    
    
    
    
}
